Modern communication networks are more diverse and bandwidth-intensive than ever before. High-bandwidth communication networks are in high-demand, as different types of services need to share the same transmission media and thus to share the same bandwidth. Furthermore, modern communication networks must support different types of services differentiated based on some performance characteristics, such as allocated bandwidth, delays and packet losses. A user may purchase a service package (from a service provider) that assures a certain level of performance, usually referred to as quality of service (QoS). A service package is determined by a bandwidth profile and a class of service (CoS). In order to secure sufficient bandwidth, users often contract for discrete channels, each channel capable of handling the greatest expected bandwidth requirement of a respective data flow. A channel is associated with a single link from a source network element (NE) to a destination NE.
Modern networks face a common set of problems, some of which relate to traffic congestion. Traffic congestion may occur in the network's inputs, outputs, or internal nodes. Specifically, input congestion occurs when too much traffic is directed to an input of the network. Internal traffic congestion occurs when there is insufficient throughput bandwidth to handle the routing of packets within the network, and output congestion occurs when too much traffic is directed towards the same network output.
To overcome these problems, load balancing “LB” (or bandwidth management) techniques are disclosed in the related art. These techniques allocate bandwidth for each channel and dynamically adjust the bandwidths of the various services, for the purpose of guaranteeing CoS requirements and maintaining fairness among the various services. The disclosed techniques regulate the traffic rate based on the input rate and the available bandwidth. Other techniques may involve measuring the network congestion, typically using operations and maintenance (OAM) tracers, and adjusting the bandwidth for each channel based on these measurements. Examples of load-balancing techniques are disclosed in U.S. Pat. Nos. 6,690,678, 6,687,228, 6,282,562, 6,011,776, 5,940,372 and 5,815,492.
The shortcoming of prior art solutions is that bandwidth is proportionally adjusted to the existing bandwidth and congestion, and does not take into account other parameters, such as the fairness or the congestion at a channel's scheduler. In addition, some of these solutions are based on a central unit, e.g., a bandwidth management server that periodically determines the level of additional bandwidth that can be allocated or de-allocated for each channel.
Therefore, in the view of the shortcomings introduced in the related art, it would be advantageous to provide an efficient solution for performing load balancing in congested networks.